package com.yonyou.brigade.third_parties.common.service;

import com.yonyou.brigade.basic_init.model.IChannelConfig;
import com.yonyou.brigade.order_center.model.ThirdResult;
import com.yonyou.brigade.third_parties.common.model.ThirdUser;

import java.util.List;

/**
 * 商旅第三方接入-用户服务模板
 *
 * @author kangfw5
 * @since 2019-06-11
 */
public interface IThirdUserService {

    /**
     * 获取单点登录URL
     *
     * @param tenant   租户ID
     * @param org      组织PK
     * @param phone    手机号码
     * @param pageType 跳转页面
     * @param pcOrH5   pc/h5
     * @param jsonExt  其他信息
     * @return String 条状URL
     */
    String getLoginUrl(String tenant, String org, String phone, String pageType, String pcOrH5, String jsonExt);


    /**
     * 批量同步用户
     *
     * @param channelConfig 配置信息
     * @param userList      用户列表
     * @return
     */
    ThirdResult syncUsers(IChannelConfig channelConfig, List<ThirdUser> userList);

    /**
     * 新增单个用户
     *
     * @param channelConfig 配置信息
     * @param thirdUser     用户
     * @return
     */
    ThirdResult addUser(IChannelConfig channelConfig, ThirdUser thirdUser);

    /**
     * 更新用户
     *
     * @param channelConfig 配置信息
     * @param thirdUser     用户
     * @return
     */
    ThirdResult updateUser(IChannelConfig channelConfig, ThirdUser thirdUser);

}
